/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package prjtgl.controler.membre;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.zkoss.bind.BindUtils;
import org.zkoss.bind.annotation.BindingParam;
import org.zkoss.bind.annotation.Command;
import org.zkoss.bind.annotation.Init;
import org.zkoss.zk.ui.Sessions;
import org.zkoss.zk.ui.select.SelectorComposer;
import org.zkoss.zk.ui.util.Clients;
import org.zkoss.zul.Window;
import prjtgl.metier.Application;
import prjtgl.metier.comptes.Membre;
import prjtgl.metier.comptes.interactions_utilisateur.DemandeContact;
import prjtgl.metier.comptes.profil_utilisateur.DomaineExpertise;
import prjtgl.util.SessionUtilisateur;

/**
 *
 * @author Adrien
 */
public class AfficherProfilContact  {
    
    private ArrayList<Membre> sesContacts;
    
    public ArrayList<Membre> getSesContacts(){
        return sesContacts;
    }
    
    
    private String text;
    public String getText()
    {
        return contact.getNom()+"  "+contact.getPrenom()+" ne fait pas parti(e) de vos contacts.";
    }
    
    private Membre contact;
    
    public Membre getContact() { return contact; }
    
    public String getSocieteActuelle() { return contact.obtenirSocieteActuelle();}
    
    public String getProfilActuel() { return contact.getProfil().getIntitule(); }
    
    public String getDisponibilite()
    {
        if ( contact.getEstDisponible() == true) return "En contrat permanent";
        else return "En prestation";
    }
    
    private List<DomaineExpertise> domaineExpertise;
      
    public List<DomaineExpertise> getDomaineExpertiseList() { return domaineExpertise;}     
   
   
    @Init
    public void init()
    {
        
        contact = (Membre) Sessions.getCurrent().getAttribute("contact");
        Sessions.getCurrent().removeAttribute("contact");
        sesContacts= new ArrayList<Membre>(contact.listerContact());
        if ( contact.getDomaines() == null )domaineExpertise = new ArrayList<DomaineExpertise>();
        else domaineExpertise = new ArrayList<DomaineExpertise>(contact.getDomaines());
    }
  
    @Command
    public void demande()
    {
        Application ap = Application.getInstance();
      
        Membre membre = (Membre) SessionUtilisateur.getUtilisateur();
        
        DemandeContact d = new DemandeContact();
        d.setDemandeur((Membre)SessionUtilisateur.getUtilisateur());
        d.setDemandeur(contact);
        
        
        if ( membre.listerDemandeEnvoyes().contains(d) ) {}
        else if ( membre.listerDemandeRecues().contains(d)) {}
        else {membre.addDemandeContact(contact); }
       
      
      
    }
    
    @Command
    public void changePage(@BindingParam("membre") Membre membre2) 
    {
        Map<String, Object> args = new HashMap();
        Sessions.getCurrent().setAttribute("contact", membre2);
        
        String email = SessionUtilisateur.getUtilisateur().getEmail();
        Membre membre = Application.getInstance().rechercherMembre(email);
       
        if ( membre.listerContact().contains(membre2) ) args.put("content", "Membre/AutreProfilMembreContact.zul");
        else args.put("content", "Membre/AutreProfilMembreNonContact.zul");
        BindUtils.postGlobalCommand(null, null, "changePage", args);
    }
     
    @Command
    public void abus()
    {
        Application ap = Application.getInstance();
        String email = SessionUtilisateur.getUtilisateur().getEmail();
        Membre membre = Application.getInstance().rechercherMembre(email);
       // membre.signalerMembre(membre, email);
    }
    
}

